#include "TParser.h"
#include <stdio.h>

#define modo "r"

int main(int argc, char** argv) {
	FILE* json;
	TParser p;
	int c, codigo;
	int aux = 0;
	char mensaje[MAX_DATO], opt;

	json = fopen(argv[1], modo);
	TParser_Crear(&p);

	if (json == NULL) {
		printf("\nError de apertura del archivo. \n\n");
	} else {
		while (feof(json) == 0 && aux == 0) {
			c = fgetc(json);
			if (c >= 32) {
				aux = TParser_PushChar(&p, c);
			}
		}
		if (aux) {
			if (aux == 'l') {
				printf("ERROR LEXICO");
			} else if (aux == 's') {
				printf("ERROR SINTACTICO");
			}
			TParser_getUltimoError(&p, &codigo, mensaje);
			printf("\nPara obtener una descripcion detallada del error producido ingrese 's': \n");
			scanf("%c", &opt);
			if (opt == 's') {
				printf("Codigo de Error: %d\n", codigo);
				printf("Descripcion: %s", mensaje);
			}

		}
		TParser_terminarFlujo(&p);
	}
	TParser_Destruir(&p);
	fclose(json);
	return 0;
}
